package com.billdowney.service.interfaces.system;

import java.util.List;

import com.billdowney.entity.system.SystemDirectoryType;
import com.billdowney.service.interfaces.base.BaseService;
import com.billdowney.entity.system.SystemDirectory;

/**
 * @ClassName: SystemDataDictionaryDirectoryService
 * @Description: 系统字典目录接口
 * @author 超级小富翁 - BillDowney
 * @date 2018年8月28日 下午9:45:35
 */
public interface SystemDirectoryService extends BaseService<SystemDirectory> {

	/**
	 * @Description: 查询所有可用的数据
	 * @param parentId 父级id
	 * @param type     目录类型
	 * @return
	 * @throws Exception
	 * @author: 超级小富翁 - BillDowney
	 * @date: 2018年9月9日 下午12:28:55
	 */
	public List<SystemDirectory> queryList(String parentId, SystemDirectoryType type) throws Exception;

	/**
	 * @Description: 传入id来查询字典目录信息
	 * @param id 字典目录id
	 * @return 查询到的字典目录对象
	 * @throws Exception
	 * @author: 唐路钧
	 * @date: 2018年9月1日 下午8:48:05
	 */
	public SystemDirectory findById(String id) throws Exception;

	/**
	 * @Description: 通过传入名称、id和父级目录id来添加或修改字典目录
	 * @param name          字典目录名称
	 * @param id            字典目录的id
	 * @param directoryType 目录类型
	 * @param parentId      父级目录id
	 * @return 保存的对象
	 * @author: 唐路钧
	 * @date: 2018年9月1日 下午9:29:23
	 */
	public SystemDirectory saveOrUpdateSystemDirectory(String name, String id, SystemDirectoryType directoryType,
			String parentId) throws Exception;

	/**
	 * @Description: 通过字典目录id来删除数据
	 * @param id 字典目录id
	 * @return 是否成功
	 * @author: 唐路钧
	 * @date: 2018年9月1日 下午11:15:40
	 */
	public boolean delSystemDirectory(String id) throws Exception;

}
